/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Main;

//import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author root
 */
public class Inbox {

    public static final String MSN_ERROR = "No se pudo procesar tu mensaje, "
            + "por favor intenta mas tarde. Tigo, con una linea lo tienes TODO!";
    public static final String SMS_SIN_PERMISO = "Estimado usuario, el codigo al que envio este mensaje"
            + " no esta habilitado, favor revise que el codigo sea el correcto. Con Tigo Aqui Estoy!";
    public static final String SMS_INVALIDO = "Estimado usuario, esta opcion no es valida"
            + ". Sonrie, tienes Tigo.";
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        String corto = args[0].replaceAll("[+]+", "").trim();
        String numero = args[1].replaceAll("[+]+", "").trim();
        String texto = args[2];

        String url = "jdbc:oracle:thin:@192.168.110.224:1521:dwh";
        Connection cnx = null;

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException ex) {
            System.out.println(MSN_ERROR);
            System.exit(1);
        }

        try {
            cnx = DriverManager.getConnection(url, "apps", "pps20d$$wh10");

            if (corto.equals("733")) {
                Inbox733.insert(cnx, corto, numero, texto);
            } else if (corto.equals("4000")) {
                //

                if (!Inbox4000.tienePermiso(cnx, numero)) {
                    System.out.println(SMS_SIN_PERMISO);
                    Inbox4000.insert(cnx, corto, numero, texto, "NO PERMISO");
                } else if (texto.matches("^(504)?[92][0-9]{7}$")) {
                    Inbox4000.peticionTelefono(cnx, corto, numero, texto);
                } else if (texto.toUpperCase().matches("^[92][0-9]{7} INFO$")) {
                    Inbox4000.insert(cnx, corto, numero, texto.substring(0, 7), "INFO");
                    System.out.println(SMS_INVALIDO);
                    
                } else if (texto.toLowerCase().startsWith("ext ")) {
                    //System.out.println("Extensiones");
                    Inbox4000.insert(cnx, corto, numero, texto, "EXTENSION");
                    System.out.println(SMS_INVALIDO);
                } else if (texto.toLowerCase().startsWith("run ")) {
                    //System.out.println("Extensiones");
                    Inbox4000.insert(cnx, corto, numero, texto, "EJECUCION");
                    System.out.println(SMS_INVALIDO);
                } else {
                    //System.out.println("Desconocido");
                    //System.out.println(SMS_INVALIDO);
                    Inbox4000.insert(cnx, corto, numero, texto, "MENSAJE");
                    System.out.println(SMS_INVALIDO);
                    
                }

                close(cnx);
                System.exit(0);

            }

        } catch (SQLException ex) {
            //ex.printStackTrace();

            System.out.println(MSN_ERROR);
            System.exit(1);
        }





    }

    public static void close(Connection cnx) {
        try {
            cnx.close();
        } catch (SQLException ex) {
        }
    }
}
